package com.oauth.global.client.rpc;

import java.util.List;
import java.util.Set;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.oauth.components.client.beans.OAuthUrl;
import com.oauth.global.client.beans.AppInfoBean;
import com.oauth.global.client.beans.ApplicationClientBean;
import com.oauth.global.client.beans.BirthdayClientBean;

public interface GlobalRemoteServiceAsync {

	void updateStatus(String pStatusText, Set<Long> pApplicationIdSet,
			AsyncCallback<Boolean> callback);

	void getApplicationImagesForStatus(AsyncCallback<List<AppInfoBean>> callback);

	void getApplicationImagesForBirthday(AsyncCallback<List<AppInfoBean>> callback);

	void getUpcomingBirthdays(AsyncCallback<List<BirthdayClientBean>> callback);

	void getUpcomingBirthdays(long appId, AsyncCallback<List<BirthdayClientBean>> callback);

	void getSignInUrl(long applicationId, AsyncCallback<OAuthUrl> callback);

	void getMyApplications(AsyncCallback<List<ApplicationClientBean>> callback);

	void unSubscribeFromApplication(Long pApplicationId, AsyncCallback<String> callback);

	void getUnSubscribedApplications(AsyncCallback<List<ApplicationClientBean>> callback);

}
